﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Dao.Intermediarios;
using Dao;

namespace _InformaticaIndustrial_DerivdosVinicos.Interfaz
{
    public partial class ModificarCT : Form
    {
        #region Property

        IPCentroTrabajo ipCentroTrabajo = new IPCentroTrabajo();
        IPPuesto ipPuesto = new IPPuesto();
        IPEdificio ipEdificio = new IPEdificio();
        CentroTrabajo centroTrabajo;
        int idCentroTrabajo;

        #endregion Property

        public ModificarCT(int idCT)
        {
            InitializeComponent();
            this.idCentroTrabajo = idCT;
            LoadCombos();
            LoadControls();
        }

        private void LoadCombos()
        {
            cbEdificio.DataSource = ipEdificio.getAll<Edificio>();
            cbPto.DataSource = ipPuesto.getAll<CentroTrabajo>();
        }

        private void LoadControls()
        {
            try
            {
                centroTrabajo = ipCentroTrabajo.getById(idCentroTrabajo);

                if (centroTrabajo != null)
                {
                    txtCodCT.Text = centroTrabajo.codCT;
                    txtNombre.Text = centroTrabajo.nombreCtroTrab;
                    cbEdificio.SelectedValue = centroTrabajo.IdEdificio;
                    cbPto.SelectedValue = centroTrabajo.IdPuesto;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }

        #region Events

        private void buttonAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                if (centroTrabajo != null)
                {
                    centroTrabajo.nombreCtroTrab = txtNombre.Text;
                    centroTrabajo.IdEdificio =  Convert.ToInt16(cbEdificio.SelectedValue);
                    centroTrabajo.IdPuesto = Convert.ToInt16(cbPto.SelectedValue);
                    Intermediario.confirmarCambios();

                    MessageBox.Show("Centro de Trabajo modificado");
                }
            }
            catch (Exception)
            {
                
                throw;
            }
        }

        private void buttonCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        #endregion Events
    }
}
